home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / demos / GL / newton / config.h next >
C/C++ Source or Header  |  1994-08-01  |  4KB  |  144 lines

  1. /*
  2.  * Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17. /*
  18.  * configuration constants for Newton
  19.  * Yossi Friedman, July 1988
  20.  */
  21.  
  22.  
  23. #define HEIGHT         60. /* half of a room side, in Modeling coordinates */
  24. #define TOLERANCE    1.005 /* tolerance for wall penetrations etc. */
  25. #define MAX_MODELS    50 /* maximal size of models menu */
  26.  
  27.  
  28.  
  29. #ifdef CLOVER2
  30.  
  31. #define MAX_NPROC    32 /* upper bound on the number of processors */
  32.  
  33. #endif /* CLOVER2 */
  34.  
  35.  
  36.  
  37. /*
  38.  * the file that contains the list of available models
  39.  */
  40. #define DEFAULT_MODEL_CATALOG "/usr/demos/data/newton/model_catalog"
  41.  
  42.  
  43.  
  44. #ifdef CONFIG_FILE
  45.  
  46. /*
  47.  * the file that contains the display configuration
  48.  */
  49. #define DEFAULT_MODEL_CONFIG  "newton_config"
  50. /* path relative to the directory where the model catalog file is */
  51.  
  52. #endif /* CONFIG_FILE */
  53.  
  54.  
  55.  
  56.  
  57. /*
  58.  * display state variables
  59.  */
  60.  
  61. /* initially, should we draw shadows in lighted wall mode? */
  62. #define SHADOWS_TOO_DEFAULT    1
  63.  
  64. /* initially, should the springs be drawn as well as the surfaces? */
  65. #define SPRINGS_TOO_DEFAULT    0
  66.  
  67. /* initially, should we draw a translucent model? */
  68. #define ALPHA_BLENDED_DEFAULT    0
  69.  
  70. /* initially, should we be in spin mode? */
  71. #define SPIN_MODE_DEFAULT    0
  72.  
  73. /* initially, how should we draw the walls? */
  74. /* legal values are draw_lighted_wall and draw_pinball_wall */
  75. #define DRAW_WALL_DEFAULT    draw_lighted_wall
  76.  
  77. /* by default, how should we draw the model? */
  78. /* legal values are draw_smooth_surfs, draw_flat_surfs and draw_springs */
  79. #define DRAW_MODEL_DEFAULT    draw_flat_surfs
  80.  
  81. /* which should be the default mode, RGB (regular) or COLOR_MAP (Bermuda)? */
  82. #define DEFAULT_MODE        RGB
  83.  
  84.  
  85. /*
  86.  * menu limitations
  87.  */
  88. #define MAX_MENU_ITEMS        20
  89. #define MAX_MENU_ITEM_LEN    100
  90.  
  91.  
  92. /*
  93.  * geometric and physical limitations of the system
  94.  */
  95. #define MAX_ATOMS    300  /* maximal number of atoms in a model */
  96. #define MAX_SPRING    1000 /* maximal number of springs in a model */
  97. #define MAX_SURF    300  /* maximal number of surfaces in a model */
  98. #define MAX_SURF_N    20   /* maximal number of vertices per surface */
  99.  
  100.  
  101.  
  102.  
  103. /*
  104.  * model lighting model
  105.  */
  106. #define MAX_LIGHTING_SIZE    100 /* length of lighting descriptions */
  107.  
  108. #define LIGHT_VECTOR    0.2, 0.5, 1.0    /* INTO the light source */
  109.  
  110. #define MODEL_LMODEL        \
  111.     LMNULL
  112.  
  113. #define MODEL_LMODEL_SIZE        1
  114.  
  115. #define DEFAULT_MODEL_MATERIAL    \
  116.     ALPHA, 0.4,            \
  117.     AMBIENT, 0.15, 0.0, 0.15,     \
  118.     DIFFUSE, 0.4, 0.0, 0.4,    \
  119.     SPECULAR, 0.0, 0.0, 0.0,    \
  120.     SHININESS, 1.0,        \
  121.     LMNULL
  122.  
  123. #define DEFAULT_MODEL_MATERIAL_SIZE    17
  124.  
  125. #define WALL_MATERIAL        \
  126.     AMBIENT,  0.4, 0.4, 0.4,    \
  127.     DIFFUSE,  0.6, 0.6, 0.6,    \
  128.     SPECULAR, 0.1, 0.1, 0.1,    \
  129.     SHININESS, 30.0,        \
  130.     LMNULL
  131.  
  132. #define WALL_MATERIAL_SIZE        15
  133.  
  134. /*
  135.  * pinball colors are linear functions of the depth; the coefficients
  136.  * for red, green, and blue follow
  137.  */
  138. #define RED1    0.20
  139. #define RED2    0.20
  140. #define GREEN1    0.12
  141. #define GREEN2    0.20
  142. #define BLUE1    0.00
  143. #define BLUE2    0.20
  144.